<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<title>Simd Library Release Notes (2024)</title>
</head>
<body> <center><table width=1024><tr><td>
<a id="HOME"><a>
<center>
<img width="200" height="100" src="logo.png">
<h1>Simd Library Release Notes (2024).</h1>
<a href="index.html">Home</a> |
<a href="2024.html">Release Notes</a> | 
<a href="download.html">Download</a> | 
<a href="help/index.html">Documentation</a> | 
<a href="http://github.com/ermig1979/Simd/issues">Issues</a> | 
<a href="http://github.com/ermig1979/Simd" target="_top">GitHub</a> 
</center>
<hr/> 
</td></tr><tr><td>

<center>
 <a href="2024.html">2024</a> |
 <a href="2023.html">2023</a> |
 <a href="2022.html">2022</a> |
 <a href="2021.html">2021</a> |
 <a href="2020.html">2020</a> |
 <a href="2019.html">2019</a> |
 <a href="2018.html">2018</a> |
 <a href="2017.html">2017</a> |
 <a href="2016.html">2016</a> |
 <a href="2015.html">2015</a> |
 <a href="2014.html">2014</a> |
 <a href="2013.html">2013</a>
</center>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R142">October X, 2024 (version X.X.142)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation of class SynetDeconvolution16bGemm.</li>
 <li>Base implementation, SSE4.1 optimizations of class SynetDeconvolution16bNhwcGemm.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of SynetDeconvolution16b framework.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R141">September 2, 2024 (version 6.1.141)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Support of BFloat16 in Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of class ResizerNearest.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Compiler warning in function Simd::LitterCpuCache.</li>
 <li>Error in AVX-512BW optimizations of class SynetInnerProduct16bGemmNN.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R140">August 19, 2024 (version 6.1.140)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of function SynetRelu16b.</li>
 <li>API of SynetAdd16b framework.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of class SynetAdd16bUniform.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations, AMX-BF16 of class SynetConvolution16bNchwGemm.</li>
</ul>
<h5>Improving</h5>
<ul>
 <li>AMX-BF16 optimizations of class SynetInnerProduct16bGemmNN.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Error in Base implementation of class SynetMergedConvolution16bCdc.</li>
 <li>Error in Base implementation of class SynetMergedConvolution16bDc.</li>
 <li>Error in Base implementation of class SynetInnerProduct16bGemmNN.</li>
 <li>Error in Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of function Float32ToBFloat16.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function SynetRelu16b.</li>
 <li>Tests for verifying functionality of SynetAdd16b framework.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R139">July 1, 2024 (version 6.1.139)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>API of SynetInnerProduct16b framework.</li>
 <li>Base implementation of class SynetInnerProduct16bRef.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetInnerProduct16bGemmNN.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Error in AVX-512BF16 optimizations of class SynetConvolution16bNhwcDirect.</li>
 <li>Error in Base implementation of class SynetConvolution16bNhwcGemm.</li>
 <li>Error in SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of function Convert16bNhwcDirect.</li>
 <li>Error in SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of function Reorder16bNhwcDirect.</li>
 <li>Error in Base implementation of class SynetMergedConvolution16bCdc.</li>
 <li>Error in Base implementation of class SynetMergedConvolution16bDc.</li>
 <li>Error in Base implementation of class SynetMergedConvolution16bCd.</li>
 <li>Error in AMX-BF16 optimizations of class SynetMergedConvolution16bDc.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of SynetInnerProduct16b framework.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R138">June 3, 2024 (version 6.1.138)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetConvolution16bNhwcDirect.</li>
 <li>SimdCpuInfoCurrentFrequency in SimdCpuInfoType enumeration.</li>
 <li>API of SynetMergedConvolution16b framework.</li>
 <li>Base implementation of class SynetMergedConvolution16b.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetMergedConvolution16bDc.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetMergedConvolution16bCd.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetMergedConvolution16bCdc.</li>
 <li>Support of YUV420P format to Simd::Frame.</li>
</ul>
<h5>Improving</h5>
<ul>
 <li>AVX-512BF16 optimizations of class SynetConvolution16bNhwcGemm.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Errors in Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetConvolution16bNhwcGemm.</li>
 <li>Error in Base implementation of class SynetMergedConvolution8i.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>-wu command line option to set CPU warm up time in milliseconds.</li>
 <li>Tests for verifying functionality of SynetMergedConvolution16b framework.</li>
</ul>

<h4>Infrastructure</h4>
<h5>Bug fixing</h5>
<ul>
 <li>Errors in build_and_test_gcc section in Github actions script for CMake.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R137">May 2, 2024 (version 6.1.137)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>AMX-BF16 (AVX-512VBMI) optimizations of function DescrIntCosineDistance.</li>
 <li>AMX-BF16 (AVX-512VBMI, AMX-INT8) optimizations of function DescrIntCosineDistancesMxNa.</li>
 <li>AMX-BF16 (AVX-512VBMI, AMX-INT8) optimizations of function DescrIntCosineDistancesMxNp.</li>
 <li>API of SynetConvolution16b framework.</li>
 <li>Base implementation of class SynetConvolution16bGemm.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetConvolution16bNhwcGemm.</li>
</ul>
<h5>Improving</h5>
<ul>
 <li>AVX-512VNNI optimizations of function DescrIntCosineDistance.</li>
 <li>AVX-512VNNI optimizations of function DescrIntCosineDistancesMxNa.</li>
 <li>AVX-512VNNI optimizations of function DescrIntCosineDistancesMxNp.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of SynetConvolution16b framework.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R136">April 2, 2024 (version 6.1.136)</h3>
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>AMX-BF16 (AVX-512VBMI) optimizations of function ChangeColors.</li>
 <li>AMX-BF16 (AVX-512VBMI) optimizations of function NormalizeHistogram.</li>
</ul>
<h5>Improving</h5>
<ul>
 <li>AMX-BF16 optimizations of class SynetConvolution32fBf16NhwcGemm.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Error in Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetConvolution32fBf16NhwcGemm.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Command line parameter to disable testing of some SIMD extensions.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Error in test of function Nv12SaveAsJpegToMemory.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R135">March 1, 2024 (version 6.1.135)</h3> 
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetConvolution32fBf16NhwcGemm.</li>
 <li>AMX-BF16 optimizations of function Float32ToBFloat16.</li>
 <li>Support of SimdSynetUnaryOperation32fCos in function SynetUnaryOperation32f.</li>
 <li>Support of SimdSynetUnaryOperation32fSin in function SynetUnaryOperation32f.</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>Error in function SimdCpuInfo (wrong AMX-BF16 detection).</li>
 <li>Error in AVX-512BF16 optimization of function Float32ToBFloat16.</li>
 <li>Error in AMX initialization in function AmxBf16::SupportedByOS.</li>
 <li>Crash in function AmxBf16::ConvolutionBf16NhwcConv_2.</li>
 <li>Error in Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetMergedConvolution32fBf16Cdc.</li>
 <li>Error in Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetMergedConvolution32fBf16Cd.</li>
 <li>Error in Base implementation, SSE4.1, AVX2, AVX-512BW, AMX-BF16 optimizations of class SynetMergedConvolution32fBf16Dc.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>AVX-512BF16 optimizations of function Float32ToBFloat16.</li>
 <li>AVX-512BF16 optimizations of SynetConvolution32fBf16Nhwc.</li>
 <li>AVX-512BF16 optimizations of class SynetMergedConvolution32fBf16Cdc.</li>
 <li>AVX-512BF16 optimizations of class SynetMergedConvolution32fBf16Cd.</li>
 <li>AVX-512BF16 optimizations of class SynetMergedConvolution32fBf16Dc.</li>
 <li>Stopping of separate support of AVX-512BF16 extension (only together with AMX-BF16).</li>
</ul>

<h4>Test framework</h4>
<h5>Bug fixing</h5>
<ul>
 <li>Error in test of SynetMergedConvolution32f framework.</li>
</ul>

<h4>Infrastructure</h4>
<h5>Removing</h5>
<ul>
 <li>Avx512Bf16 project for MSVS-2022.</li>
 <li>Avx512Bf16 project for MSVS-2019.</li>
 <li>Avx512Bf16 project for MSVS-2015.</li>
 <li>Avx512Bf16 project for MSVS-2017.</li>
 <li>Avx512Bf16 project for CMake.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R134">February 1, 2024 (version 6.0.134)</h3> 
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>SSE4.1 optimizations of ResizerFloatBilinear class.</li>
</ul>
<h5>Improving</h5>
<ul>
 <li>Improve AVX2 optimizations of ResizerFloatBilinear class (AMD CPU).</li>
 <li>Improve AVX2 optimizations of ResizerShortBilinear class (AMD CPU).</li>
</ul>
<h5>Bug fixing</h5>
<ul>
 <li>MSVS compiler bug in file SimdAvx512bwYuvToBgraV2.</li>
 <li>Linux, GCC-13 - crash in function SimdSynetInnerProduct32fForward.</li>
 <li>MSVS compiler bug (Cmake, Windows for ARM64) with functions Extract4Sums.</li>
 <li>GCC-9/10 - compiler error in AVX-512BW optimization of function YToGray.</li>
 <li>GCC-9/10 - compiler error in AVX-512BW optimization of function GrayToY.</li>
</ul>
<h5>Replacing</h5>
<ul>
 <li>Replace AVX optimizations to AVX2 for function CosineDistance32f.</li>
 <li>Replace AVX optimizations to AVX2 for function Fill32f.</li>
 <li>Replace AVX optimizations to AVX2 for ResizerFloatBilinear class.</li>
 <li>Replace AVX optimizations to AVX2 for function SquaredDifferenceSum32f.</li>
 <li>Replace AVX optimizations to AVX2 for function SquaredDifferenceKahanSum32f.</li>
 <li>Replace AVX optimizations to AVX2 for function HogLiteFilterFeatures.</li>
 <li>Replace AVX optimizations to AVX2 for function HogLiteResizeFeatures.</li>
 <li>Replace AVX optimizations to AVX2 for function HogLiteCompressFeatures.</li>
 <li>Replace AVX optimizations to AVX2 for function HogLiteFilterSeparable.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralPooling2x2Max2x2.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralProductSum.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddVectorMultipliedByValue.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddVector.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddValue.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralRoughSigmoid.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralRoughSigmoid2.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralRoughTanh.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralDerivativeRelu.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralDerivativeTanh.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralDerivativeSigmoid.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralUpdateWeights.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAdaptiveGradientUpdate.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution2x2Forward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution3x3Forward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution4x4Forward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution5x5Forward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution2x2Backward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution3x3Backward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution4x4Backward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution5x5Backward.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution2x2Sum.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution3x3Sum.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution4x4Sum.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralAddConvolution5x5Sum.</li>
 <li>Replace AVX optimizations to AVX2 for function NeuralConvolutionForward.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetAddBias.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward0.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward1.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward2.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward3.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward4.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward8.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetFusedLayerForward9.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetPoolingAverage.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetShuffleLayerForward.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetHardSigmoid32f.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetHswish32f.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetPreluLayerForward.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetRelu32f.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetRestrictRange32f.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel1x3Block1x4SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel1x3Block1x4SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel1x3Block1x4SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel1x5Block1x4SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel1x5Block1x4SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel1x5Block1x4SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel2x2Block2x2SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel2x2Block2x2SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel2x2Block2x2SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel2x2Block4x4SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel2x2Block4x4SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel2x2Block4x4SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block2x2SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block2x2SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block2x2SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block3x3SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block3x3SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block3x3SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block4x4SetFilter.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block4x4SetInput.</li>
 <li>Replace AVX optimizations to AVX2 for function WinogradKernel3x3Block4x4SetOutput.</li>
 <li>Replace AVX optimizations to AVX2 for function GemmPackA.</li>
 <li>Replace AVX optimizations to AVX2 for function GemmPackB.</li>
 <li>Replace AVX optimizations to AVX2 for function GemmScaleC.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetScaleLayerForward.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetInnerProductLayerForward.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetInnerProduct32fInit.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetEltwiseLayerForward.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetDeconvolution32fInit.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetMergedConvolution32fInit.</li>
 <li>Replace AVX optimizations to AVX2 for SynetInnerProduct32fGemm class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetInnerProduct32fProd class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetDeconvolution32fGemmNN class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetDeconvolution32fNhwcDirect2x2 class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetMergedConvolution32fCdc class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetMergedConvolution32fCd class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetMergedConvolution32fDc class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fDepthwiseDotProduct class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fDirectNchw class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fDirectNhwc class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fNhwcDirect class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fGemmNT class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fGemmNТ class.</li>
 <li>Replace AVX optimizations to AVX2 for SynetConvolution32fWinograd class.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetConvolution32fInit.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetMergedConvolution32fInit.</li>
 <li>Replace AVX optimizations to AVX2 for function SynetMergedConvolution32fInit.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>Base implementation, SSE4.1, AVX, AVX-512BW, NEON, VSX optimizations of function SvmSumLinear.</li>
 <li>Stopping of separate support of AVX extension (only together with AVX2).</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundGrowRangeSlow.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundGrowRangeFast.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundIncrementCount.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundAdjustRange.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundAdjustRangeMasked.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundShiftRange.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function EdgeBackgroundShiftRangeMasked.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function InterferenceIncrement.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function InterferenceIncrementMasked.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function InterferenceDecrement.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function InterferenceDecrementMasked.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward0.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward1.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward2.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward3.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward4.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward8.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function SynetFusedLayerForward9.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function BgraToYuv420p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function BgraToYuv422p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function BgraToYuv444p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function BgraToYuva420p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function BgrToYuv420p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function BgrToYuv422p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function BgrToYuv444p.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function Yuva420pToBgra.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function Yuv420pToBgra.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function Yuv422pToBgra.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function Yuv444pToBgra.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function Yuv420pToBgr.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function Yuv422pToBgr.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function Yuv444pToBgr.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function Yuv420pToRgb.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function Yuv422pToRgb.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function Yuv444pToRgb.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON, VMX optimizations of function ResizeBilinear.</li>
 <li>Function Simd::ResizeAreaGray.</li>
 <li>Function Simd::ResizeArea.</li>
 <li>VSX optimizations of function HogDirectionHistograms.</li>
 <li>VSX optimizations of function NeuralConvert.</li>
 <li>VSX optimizations of function NeuralProductSum.</li>
 <li>VSX optimizations of function NeuralRoughSigmoid.</li>
 <li>VSX optimizations of function SquaredDifferenceSum32f.</li>
 <li>VSX optimizations of function SquaredDifferenceKahanSum32f.</li>
 <li>VSX optimizations of function Yuv420pToHue.</li>
 <li>VSX optimizations of function Yuv444pToHue.</li>
 <li>Stopping of support of VSX(Power7) extension.</li>
 <li>VMX optimizations of function AbsDifferenceSum.</li>
 <li>VMX optimizations of function AbsDifferenceSumMasked.</li>
 <li>VMX optimizations of function AbsDifferenceSums3x3.</li>
 <li>VMX optimizations of function AbsDifferenceSums3x3Masked.</li>
 <li>VMX optimizations of function LbpEstimate.</li>
 <li>VMX optimizations of function FillBgr.</li>
 <li>VMX optimizations of function FillBgra.</li>
 <li>VMX optimizations of function AbsGradientSaturatedSum.</li>
 <li>VMX optimizations of function AlphaBlending.</li>
 <li>VMX optimizations of function BgraToBayer.</li>
 <li>VMX optimizations of function BgrToBayer.</li>
 <li>VMX optimizations of function BgraToBgr.</li>
 <li>VMX optimizations of function BgraToGray.</li>
 <li>VMX optimizations of function BgrToBgra.</li>
 <li>VMX optimizations of function Bgr48pToBgra32.</li>
 <li>VMX optimizations of function BgrToGray.</li>
 <li>VMX optimizations of function GaussianBlur3x3.</li>
 <li>VMX optimizations of function GrayToBgr.</li>
 <li>VMX optimizations of function GrayToBgra.</li>
 <li>VMX optimizations of function StretchGray2x2.</li>
 <li>VMX optimizations of function Binarization.</li>
 <li>VMX optimizations of function AveragingBinarization.</li>
 <li>VMX optimizations of function DeinterleaveUv.</li>
 <li>VMX optimizations of function InterleaveUv.</li>
 <li>VMX optimizations of function Laplace.</li>
 <li>VMX optimizations of function LaplaceAbs.</li>
 <li>VMX optimizations of function LaplaceAbsSum.</li>
 <li>VMX optimizations of function MeanFilter3x3.</li>
 <li>VMX optimizations of function Reorder16bit.</li>
 <li>VMX optimizations of function Reorder32bit.</li>
 <li>VMX optimizations of function Reorder64bit.</li>
 <li>VMX optimizations of function ShiftBilinear.</li>
 <li>VMX optimizations of function ReduceGray2x2.</li>
 <li>VMX optimizations of function ReduceGray3x3.</li>
 <li>VMX optimizations of function ReduceGray4x4.</li>
 <li>VMX optimizations of function ReduceGray5x5.</li>
 <li>VMX optimizations of function HistogramMasked.</li>
 <li>VMX optimizations of function AbsSecondDerivativeHistogram.</li>
 <li>VMX optimizations of function SquaredDifferenceSum.</li>
 <li>VMX optimizations of function SquaredDifferenceSumMasked.</li>
 <li>VMX optimizations of function OperationBinary8u.</li>
 <li>VMX optimizations of function OperationBinary16i.</li>
 <li>VMX optimizations of function VectorProduct.</li>
 <li>VMX optimizations of function AddFeatureDifference.</li>
 <li>VMX optimizations of function MedianFilterRhomb3x3.</li>
 <li>VMX optimizations of function MedianFilterRhomb5x5.</li>
 <li>VMX optimizations of function MedianFilterSquare3x3.</li>
 <li>VMX optimizations of function MedianFilterSquare5x5.</li>
 <li>VMX optimizations of function SegmentationChangeIndex.</li>
 <li>VMX optimizations of function SegmentationFillSingleHoles.</li>
 <li>VMX optimizations of function SegmentationPropagate2x2.</li>
 <li>VMX optimizations of function SegmentationShrinkRegion.</li>
 <li>VMX optimizations of function TextureBoostedSaturatedGradient.</li>
 <li>VMX optimizations of function TextureGetDifferenceSum.</li>
 <li>VMX optimizations of function TexturePerformCompensation.</li>
 <li>VMX optimizations of function TextureBoostedUv.</li>
 <li>VMX optimizations of function ConditionalCount8u.</li>
 <li>VMX optimizations of function ConditionalCount16i.</li>
 <li>VMX optimizations of function ConditionalSum.</li>
 <li>VMX optimizations of function ConditionalSquareSum.</li>
 <li>VMX optimizations of function ConditionalSquareGradientSum.</li>
 <li>VMX optimizations of function ConditionalFill.</li>
 <li>VMX optimizations of function SobelDx.</li>
 <li>VMX optimizations of function SobelDxAbs.</li>
 <li>VMX optimizations of function SobelDxAbsSum.</li>
 <li>VMX optimizations of function SobelDy.</li>
 <li>VMX optimizations of function SobelDyAbs.</li>
 <li>VMX optimizations of function SobelDyAbsSum.</li>
 <li>VMX optimizations of function ContourMetrics.</li>
 <li>VMX optimizations of function ContourMetricsMasked.</li>
 <li>VMX optimizations of function ContourAnchors.</li>
 <li>VMX optimizations of function GetStatistic.</li>
 <li>VMX optimizations of function GetMoments.</li>
 <li>VMX optimizations of function GetRowSums.</li>
 <li>VMX optimizations of function GetColSums.</li>
 <li>VMX optimizations of function GetAbsDyRowSums.</li>
 <li>VMX optimizations of function GetAbsDxColSums.</li>
 <li>VMX optimizations of function ValueSum.</li>
 <li>VMX optimizations of function SquareSum.</li>
 <li>VMX optimizations of function CorrelationSum.</li>
 <li>VMX optimizations of function BackgroundGrowRangeSlow.</li>
 <li>VMX optimizations of function BackgroundGrowRangeFast.</li>
 <li>VMX optimizations of function BackgroundIncrementCount.</li>
 <li>VMX optimizations of function BackgroundAdjustRange.</li>
 <li>VMX optimizations of function BackgroundAdjustRangeMasked.</li>
 <li>VMX optimizations of function BackgroundShiftRange.</li>
 <li>VMX optimizations of function BackgroundShiftRangeMasked.</li>
 <li>VMX optimizations of function BackgroundInitMask.</li>
 <li>Stopping of support of VMX(Altivec) extension.</li>
 <li>Stopping of support of PowerPC platform.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function NeuralRoughSigmoid.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function NeuralRoughSigmoid2.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function NeuralRoughTanh.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteExtractFeatures.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteFilterFeatures.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteResizeFeatures.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteCompressFeatures.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteFilterSeparable.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteFindMax7x7.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function HogLiteCreateMask.</li>
</ul>

<h4>Python wrapper</h4>
<h5>New features</h5>
<ul>
 <li>Include test filters in Python Wrapper Test Framework.</li>
 <li>Exclude test filters in Python Wrapper Test Framework.</li>
 <li>Method Simd.Image.CopyToNumpyArray.</li>
</ul>

<h4>Test framework</h4>
<h5>Removing</h5>
<ul>
 <li>Tests for verifying functionality of function SvmSumLinear.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundGrowRangeSlow.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundGrowRangeFast.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundIncrementCount.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundAdjustRange.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundAdjustRangeMasked.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundShiftRange.</li>
 <li>Tests for verifying functionality of function EdgeBackgroundShiftRangeMasked.</li>
 <li>Tests for verifying functionality of function InterferenceIncrement.</li>
 <li>Tests for verifying functionality of function InterferenceIncrementMasked.</li>
 <li>Tests for verifying functionality of function InterferenceDecrement.</li>
 <li>Tests for verifying functionality of function InterferenceDecrementMasked.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward0.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward1.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward2.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward3.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward4.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward8.</li>
 <li>Tests for verifying functionality of function SynetFusedLayerForward9.</li>
 <li>Tests for verifying functionality of function BgraToYuv420p.</li>
 <li>Tests for verifying functionality of function BgraToYuv422p.</li>
 <li>Tests for verifying functionality of function BgraToYuv444p.</li>
 <li>Tests for verifying functionality of function BgraToYuva420p.</li>
 <li>Tests for verifying functionality of function BgrToYuv420p.</li>
 <li>Tests for verifying functionality of function BgrToYuv422p.</li>
 <li>Tests for verifying functionality of function BgrToYuv444p.</li>
 <li>Tests for verifying functionality of function Yuva420pToBgra.</li>
 <li>Tests for verifying functionality of function Yuv420pToBgra.</li>
 <li>Tests for verifying functionality of function Yuv422pToBgra.</li>
 <li>Tests for verifying functionality of function Yuv444pToBgra.</li>
 <li>Tests for verifying functionality of function Yuv420pToBgr.</li>
 <li>Tests for verifying functionality of function Yuv422pToBgr.</li>
 <li>Tests for verifying functionality of function Yuv444pToBgr.</li>
 <li>Tests for verifying functionality of function Yuv420pToRgb.</li>
 <li>Tests for verifying functionality of function Yuv422pToRgb.</li>
 <li>Tests for verifying functionality of function Yuv444pToRgb.</li>
 <li>Tests for verifying functionality of function ResizeBilinear.</li>
 <li>Tests for verifying functionality of function NeuralRoughSigmoid.</li>
 <li>Tests for verifying functionality of function NeuralRoughSigmoid2.</li>
 <li>Tests for verifying functionality of function NeuralRoughTanh.</li>
 <li>Tests for verifying functionality of function HogLiteExtractFeatures.</li>
 <li>Tests for verifying functionality of function HogLiteFilterFeatures.</li>
 <li>Tests for verifying functionality of function HogLiteResizeFeatures.</li>
 <li>Tests for verifying functionality of function HogLiteCompressFeatures.</li>
 <li>Tests for verifying functionality of function HogLiteFilterSeparable.</li>
 <li>Tests for verifying functionality of function HogLiteFindMax7x7.</li>
 <li>Tests for verifying functionality of function HogLiteCreateMask.</li>
</ul>

<h4>Infrastructure</h4>
<h5>New features</h5>
<ul>
 <li>SIMD_PYTHON CMake option.</li>
 <li>build_and_test_gcc section in Github actions script for CMake supports different GCC versions (10, 11, 13).</li>
</ul>
<h5>Improving</h5>
<ul>
 <li>Parallelization of Github actions script for MSBuild.</li>
 <li>Parallelization of Github actions script for CMake.</li>
</ul>
<h5>Removing</h5>
<ul>
 <li>Avx1 project for MSVS-2022.</li>
 <li>Avx1 project for MSVS-2019.</li>
 <li>Avx1 project for MSVS-2015.</li>
 <li>Avx1 project for MSVS-2017.</li>
 <li>Avx1 project for CMake.</li>
 <li>Vsx project for MSVS-2022.</li>
 <li>Vsx project for MSVS-2019.</li>
 <li>Vsx project for MSVS-2015.</li>
 <li>Vsx project for MSVS-2017.</li>
 <li>Vsx project for CMake.</li>
 <li>Vmx project for MSVS-2022.</li>
 <li>Vmx project for MSVS-2019.</li>
 <li>Vmx project for MSVS-2015.</li>
 <li>Vmx project for MSVS-2017.</li>
 <li>Vmx project for CMake.</li>
 <li>ppc project for CMake.</li>
 <li>build_ppc64_cross section in Github actions script for CMake.</li>
</ul>

<a href="#HOME">Home</a>
<hr/>
<h3 id="R133">January 3, 2024 (version 5.4.133)</h3> 
<h4>Algorithms</h4>
<h5>New features</h5>
<ul>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of function SynetNormalizeLayerForwardV4.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of class SynetConvolution32fNhwcGroupedBlock1x2.</li>
 <li>Function ImageSaveToFile can choose output file format (if it is undefined) by file extension.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of function GrayToY.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW optimizations of function YToGray.</li>
 <li>Add yuvType parameter in Frame structure.</li>
 <li>Support of SimdSynetUnaryOperation32fCeil in function SynetUnaryOperation32f.</li>
 <li>Support of SimdSynetUnaryOperation32fFloor in function SynetUnaryOperation32f.</li>
 <li>Function of Simd::Yuva444pToBgra.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function Yuva422pToBgraV2.</li>
 <li>Base implementation, SSE4.1, AVX2, AVX-512BW, NEON optimizations of function Yuva420pToBgraV2.</li>
 <li>The mark of function SimdYuva420pToBgra as deprecated.</li>
</ul>

<h4>Python wrapper</h4>
<h5>New features</h5>
<ul>
 <li>Wrapper for enumeration Simd.WarpAffineFlags.</li>
 <li>Wrapper for function SimdWarpAffineInit.</li>
 <li>Wrapper for function SimdWarpAffineRun.</li>
 <li>Function Simd.WarpAffine.</li>
 <li>Wrapper for function SimdAbsGradientSaturatedSum.</li>
 <li>Function Simd.AbsGradientSaturatedSum.</li>
 <li>Wrapper for function SimdBgraToBgr.</li>
 <li>Method Simd.Image.Copy.</li>
 <li>Method Simd.Image.Convert.</li>
 <li>Method Simd.Image.Converted.</li>
 <li>Wrapper for function SimdBgraToGray.</li>
 <li>Wrapper for function SimdBgraToRgb.</li>
 <li>Wrapper for function SimdBgraToRgba.</li>
 <li>Wrapper for function SimdCopy.</li>
 <li>Wrapper for function SimdBgrToBgra.</li>
 <li>Wrapper for function SimdBgrToGray.</li>
 <li>Wrapper for function SimdBgrToRgb.</li>
 <li>Wrapper for function SimdRgbToBgra.</li>
 <li>Wrapper for function SimdRgbToGray.</li>
 <li>Wrapper for function SimdRgbaToGray.</li>
 <li>Wrapper for function SimdBgraToYuv420pV2.</li>
 <li>Wrapper for enumeration Simd.FrameFormat.</li>
 <li>Class Simd.ImageFrame.</li>
 <li>Method Simd.ImageFrame.Copy.</li>
 <li>Method Simd.ImageFrame.Convert.</li>
 <li>Method Simd.ImageFrame.Converted.</li>
 <li>Wrapper for function SimdDeinterleaveUv.</li>
 <li>Wrapper for function SimdInterleaveUv.</li>
 <li>Wrapper for function SimdBgrToYuv420pV2.</li>
 <li>Wrapper for function SimdGrayToBgra.</li>
 <li>Wrapper for function SimdGrayToBgr.</li>
 <li>Method Simd.Image.Fill.</li>
 <li>Wrapper for function SimdYuv420pToBgraV2.</li>
 <li>Wrapper for function SimdYuv420pToBgrV2.</li>
 <li>Wrapper for function SimdYuv420pToRgbV2.</li>
 <li>Wrapper for function SimdYToGray.</li>
 <li>Wrapper for function SimdGrayToY.</li>
</ul>

<h4>Test framework</h4>
<h5>New features</h5>
<ul>
 <li>Tests for verifying functionality of function SynetNormalizeLayerForwardV4.</li>
 <li>Special test for verifying functionality of function Yuv420pToRgbV2.</li>
 <li>Tests for verifying functionality of function GrayToY.</li>
 <li>Tests for verifying functionality of function YToGray.</li>
 <li>Tests for verifying functionality of function Yuva422pToBgraV2.</li>
 <li>Tests for verifying functionality of function Yuva420pToBgraV2.</li>
</ul>

<h4>Infrastructure</h4>
<h5>Bug fixing</h5>
<ul>
 <li>Error in CMake for ARM platform.</li>
</ul>

<a href="#HOME">Home</a> 
<hr/> 

<center>
 <a href="2024.html">2024</a> |
 <a href="2023.html">2023</a> |
 <a href="2022.html">2022</a> |
 <a href="2021.html">2021</a> |
 <a href="2020.html">2020</a> |
 <a href="2019.html">2019</a> |
 <a href="2018.html">2018</a> |
 <a href="2017.html">2017</a> |
 <a href="2016.html">2016</a> |
 <a href="2015.html">2015</a> |
 <a href="2014.html">2014</a> |
 <a href="2013.html">2013</a>
</center>

<hr/> 

</td> </tr> </table> </center> </body> </html>
